<?php

namespace app\api\controller;

use app\common\controller\Api;
use app\common\library\Sms;
/**
 * 登录注册接口
 */
class Login extends Api
{

    protected $noNeedLogin = ['*'];
    protected $noNeedRight = ['*'];

    /**
     * 登录
     * 
     */
    public function index()
    {
        //手机号
        $phone = input('phone');
        if(!$phone){
            $this->error('手机号不能空');
        }
        //密码
        $pass = input('pass');
        if(!$pass){
            $this->error('密码不能空');
        }
        //查询用户是否存在
        $where['phone'] = $phone;
        $r = db('user')->where($where)->find();
        if(!$r){
            $this->error('用户不存在');
        }
        //判断密码是否正确
        if($r['pass']!=md5($pass)){
            $this->error('密码不正确');
        }
        $data['token'] = time().rand(10000,99999);
        $data['login_time'] = time();
        $data['login_ip'] = request()->ip();
        db('user')->where(['id'=>$r['id']])->update($data);
        $this->success('操作成功',$data);
        
    }
    /**
     * 注册
     */
    public function register(){
         //手机号
        $phone = input('phone');
        if(!$phone){
            $this->error('手机号不能空');
        }
        //判断手机号是否已注册
        $r = db('user')->where(['phone'=>$phone,'delstatus'=>1])->find();
        if($r){
            $this->error('该手机号已注册');
        }
        //密码
        $pass = input('pass');
        if(!$pass){
            $this->error('密码不能空');
        }
        //确认密码
        $repass = input('repass');
        if(!$repass){
            $this->error('确认密码不能空');
        }
        //判断是否一致
        if($pass != $repass){
            $this->error('两次密码不一致');
        }
        $first = input('first');
        if(!$first){
            $this->error('推荐人不能空');
        }
        //验证码
        $captcha = input('captcha');
        if(!$captcha){
            $this->error('验证码不能空');
        }
        //验证验证码
        if (!Sms::check($phone,$captcha))
        {
            $this->error('验证码不正确');
        }
        //推荐人
        //$first = input('first');
        if($first){
            //查询推荐人是否存在
            $tui = db('user')->where(['id'=>$first,'delstatus'=>1])->find();
            if(!$tui){
                $this->error('推荐人不存在');
            }
            $data['first'] = $first;
            $data['second'] = $tui['first'];
            $data['third'] = $tui['second'];
            $data['home'] = $tui['home'].','.$first;
        }
        //加入数据库
        $data['phone'] = $phone;
        $data['pass'] = md5($pass);
        $data['id'] = rand(100000,999999);
        $data['addtime'] = time();
        $r = db('user')->insert($data);
        if($r){
            $this->success('注册成功');
        }else{
            $this->error('注册失败');
        }
    }

}
